        module petscregressordef
use, intrinsic :: ISO_C_binding
        use petsctaodef
#include <petsc/finclude/petscregressor.h>
#include <../ftn/ml/petscregressor.h>

        end module petscregressordef

        module petscregressor
        use petscregressordef
        use petsctao

#include <../ftn/ml/petscregressor.h90>

        contains

#include <../ftn/ml/petscregressor.hf90>

      end module petscregressor

!     ----------------------------------------------

        module petscmldef
        use petscregressordef
#include <petsc/finclude/petscml.h>
        end module petscmldef

!     ----------------------------------------------

        module petscml
        use petscregressor
        use petscmldef
      end module petscml
